home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / misc / zpoint_3_14.lha / zpoint-3.14 / Rexx / ChangeSubject.zprx < prev    next >
Text File  |  1996-02-05  |  5KB  |  186 lines

  1. /*
  2.    $VER: ChangeSubject.zprx 1.0 (20.1.96) Copyright 1996 (c) Nils Görs.
  3.  
  4.  
  5.    Funktionsbeschreibung:
  6.  
  7.     Dieses Skript basiert auf einer Idee von Gerd Pickard und dient dazu,
  8.     von einer oder mehreren Nachrichten den Betreff zu ändern.
  9.  
  10.  
  11.     Sie dürfen dieses Skript beliebig kopieren,  solange  es  zusammen
  12.     mit  Zodiac's  Point  eingesetzt wird, aber verändern Sie es bitte
  13.     nicht ohne Erlaubnis des Autors.
  14.  
  15.     Sie erreichen den Autor wie folgt:
  16.  
  17.        Nils Görs              Tel. : +49 (0)202 78xxxx
  18.        Kaiserstr. 97a         EMail: N.Goers@Art-Line.de
  19.        42329 Wuppertal          oder über das ZP-Support-Brett.
  20.  
  21.     Verwenden Sie bitte nach Möglichkeit elektronische Post!
  22.  
  23.  
  24.    Hinweise zur Installation:
  25.  
  26.     Kopieren sie dieses Skript in  das  Rexx-Verzeichnis  von  ZP  und
  27.     fügen  sie  danach  der  Datei  'fkeys.zp'  auf Wunsch den Eintrag
  28.     "F1:SYS:Rexxc/RX ZPOINT:Rexx/ChangeSubject.zprx %s" hinzu.
  29.     Alternativ können auch folgende Zeilen in die Datei usermenus.zp
  30.     eingefügt werden:
  31.  
  32.     *Betreff ändern und löschen
  33.     Sys:Rexxc/RX ZPoint:Rexx/ChangeSubject.zprx %s Ja Ja Nein Ja
  34.  
  35.     *Betreff ändern und reorganisieren
  36.     Sys:Rexxc/RX ZPoint:Rexx/ChangeSubject.zprx %s Ja Ja Nein Reorg
  37.  
  38.     Wie  sie sehen, können Sie das Skript  mit unterschiedlichen Para-
  39.     metern  aufrufen.  Wenn Sie  keine  Parameter  angeben, werde  die
  40.     Standardeinstellungen verwendet. Bitte beachten Sie, daß Sie immer
  41.     ALLE Parameter übergeben müssen. Die Reihenfolge müssen Sie dabei
  42.     IMMER beachten (Reihenfolge siehe Standardeinstellung!)
  43. */
  44.  
  45. /* Soll der Betreffrequester genutzt werden? */
  46. Betreff_aendern = "Ja"            /* (JA/NEIN) */
  47.  
  48. /* Soll der Betreff der Nachricht im Requester übernommen werden? */
  49. Betreff_halten = "Ja"             /* (JA/NEIN) */
  50.  
  51. /* Betreffzeile ohne den Präfix "Re:" */
  52. Betreff_ohne_Praefix = "Nein"     /* (JA/NEIN) */
  53.  
  54. /* Soll die Originalnachricht gelöscht werden? */
  55. Nachricht_loeschen = "Reorg" /* (JA/NEIN/REORG) */
  56. /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  57.  *      Bitte geben Sie hier ihre Präferenzen ein !                *
  58.  *******************************************************************/
  59.  
  60. /*******************************************************************
  61.  *      Bitte unterhalb dieser Zeile nichts mehr verändern!        *
  62.  *******************************************************************/
  63. Outfile = "t:ChangeSubject.txt"
  64.  
  65. OPTIONS RESULTS
  66.  
  67. /* ------ von welchem ZP Port wurde das Script aufgerufen ? ------ */
  68. PARSE ARG zpPort TT1 TT2 TT3 TT4 .
  69. IF zpPort == "" THEN
  70.    zpPort = "ZPoint"
  71. ADDRESS VALUE zpPort
  72.  
  73. WHICHLEVEL
  74.  IF Result ~= "BOARD" then DO
  75.   REQUESTNOTIFY "Bitte begeben Sie sich in ein Brett!"
  76.   EXIT
  77.  END
  78.  
  79. /* Auswerten der Parameter */
  80. Betreff_aendern      = UPPER(Betreff_aendern)
  81. Betreff_halten       = UPPER(betreff_halten)
  82. Betreff_ohne_Praefix = UPPER(Betreff_ohne_Praefix)
  83. Nachricht_loeschen   = UPPER(Nachricht_loeschen)
  84. IF TT1 ~= "" THEN Betreff_aendern      = UPPER(TT1)
  85. IF TT2 ~= "" THEN Betreff_halten       = UPPER(TT2)
  86. IF TT3 ~= "" THEN Betreff_ohne_Praefix = UPPER(TT3)
  87. IF TT4 ~= "" THEN Nachricht_loeschen   = UPPER(TT4)
  88.  
  89. i = 1
  90. send = 0
  91. BOARDINFO LABEL
  92. BoardLabel = Result
  93.  
  94. COUNT LISTED
  95. counted_mails = result
  96. counted_mails2 = counted_mails
  97. IF counted_mails == 0 THEN CALL _OnlyOne
  98.  
  99.  
  100. JUMPTOMESSAGE 1
  101. MESSAGEINFO POSITION
  102. MailPos = result
  103. MESSAGEINFO LISTED
  104. IF result == 1 THEN DO
  105. CALL _Main
  106. counted_mails = counted_mails-1
  107. END
  108.  
  109. DO j = 1 to counted_mails
  110.  JUMPTOMESSAGE LISTED
  111.  CALL _Main
  112. END
  113.  
  114. CALL _DeleteInSpool
  115. EXIT
  116.  
  117. _OnlyOne:
  118.  CALL _Main
  119.  CALL _DeleteInSpool
  120. EXIT
  121.  
  122. _Main:
  123. SAVEMESSAGEBODY OutFile
  124. MESSAGEINFO ID
  125. MessIDOld.i = result
  126.  
  127. IF Betreff_ohne_Praefix == "JA" THEN MESSAGEINFO SUBJECT
  128.                                 ELSE MESSAGEINFO FULLSUBJECT
  129. oldsubject = result
  130. subjectName.i = oldsubject
  131.  
  132. IF Betreff_aendern == "JA" THEN DO
  133.   IF Betreff_halten == "JA" THEN REQUESTSTRING 'PROMPT "Bitte neuen Betreff eingeben!"' 'DEFAULT' '"'oldsubject'"'
  134.                             ELSE REQUESTSTRING 'PROMPT "Bitte neuen Betreff eingeben!"'
  135.   SubjectName.i = Result
  136. END
  137.  
  138. IF SubjectName.i == "" THEN DO
  139. ADDRESS COMMAND "delete" Outfile "QUIET"
  140.  
  141. MESSAGEINFO LISTED
  142. IF result == 1 THEN SELECTMESSAGE
  143. RETURN
  144. END
  145.  
  146.  
  147. COUNT ALL
  148. counted = RESULT
  149.  
  150. WRITEMESSAGE OutFile,
  151.              'RECEIVER Sukanya&Nils',
  152.              'SUBJECT' '"'SubjectName.i'"',
  153.              'SAVE'
  154. send = 1
  155. IF Nachricht_loeschen == "JA"    THEN DELETE ONE
  156. IF Nachricht_loeschen == "REORG" THEN DELETE LATER
  157.  
  158.  
  159. SELECTMESSAGE /* Markierung löschen */
  160.  
  161. JUMPTOMESSAGE counted+1
  162. MESSAGEINFO ID
  163. MessIDnew.i = RESULT
  164. i = i +1
  165. JUMPTOMESSAGE MailPos
  166. RETURN
  167.  
  168. _DeleteInSpool:
  169. If send == 0 then EXIT
  170. BOARDMENU
  171. JUMPTOBOARD 1
  172. ENTERBOARD
  173.  IF counted_mails2 == 0 THEN DO
  174.   JUMPTOMESSAGE 'ID' MessIDnew.1
  175.   IF (RC) == 1 THEN DELETE ONE
  176.  END
  177.  
  178.  DO i = 1 to counted_mails2
  179.   JUMPTOMESSAGE 'ID' MessIDnew.i
  180.   IF (RC) == 1 THEN DELETE ONE
  181.  END
  182. BOARDMENU
  183. JUMPTOBOARD 'NAME' BoardLabel
  184. ENTERBOARD
  185. /*EOS*/
  186.